package com.zw.mes.module.tecmake.mapper;

import com.zw.mes.entity.technology.MakeResult;
import com.zw.mes.entity.technology.Result;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface MakeMapper {

    /** 查询制作件清单表数据为部长审核过的*/
    List<MakeResult> findWithMakeReportQuery(MakeResult makeResult);

    /** 查询原始单的数量*/
    int findSelectPlanNum(Integer id);

    /** 查询变更单的数量*/
    int findSelectChangePlanNum(Integer id);

    /** 通过主表Id查询原始单的计划集合*/
    List<MakeResult> getResultPlanList(Integer id);

    /** 通过生产令号查询输出表*/
    List<MakeResult> getResultDetail(@Param("prodNo") String prodNo);

    /** 通过主表Id查询变更单的计划集合*/
    List<MakeResult> getResultChangeList(Integer id);

    /** 通过id查询主表信息关联生产令表*/
    List<MakeResult> getOne(Integer id);

    /** 带搜索功能的sql*/
    List<MakeResult> getOneSearch(MakeResult makeResult);

    /** 带搜索功能的sql*/
    List<MakeResult> getResultPlanListSearch(MakeResult makeResult);

    /** 查询明细数量*/
    MakeResult getPlanid(Integer id);

    /** 通过Id获得主单信息*/
    MakeResult getSheetResult(@Param("id") Integer sheetId);

    /**获得明细*/
    MakeResult getplanResult(@Param("id") Integer planId);

    /** 添加result数据*/
    int addResult(MakeResult addResult);

    /** 修改主表的拆分状态*/
    void updateSheetId(int sheetId);

    /** 修改输出表的下达状态*/
    int modifyLssue(@Param("prodNo") String prodNo);

    void updateLusseStatersBySheetId(Integer resultAndSheetId);

    List<MakeResult> getResultByProCode(@Param("proCode") String proCode);

    int delResultByProCode(String proCode);

    void addSplitResult(MakeResult result);

    int updateLusseStatersBySheetId1(Integer sheetId);
}
